package Veterinaria.negocio;

import java.util.Collection;

import Veterinaria.dao.FacturaDAO;
import Veterinaria.dao.PersonaDAO;
import Veterinaria.excepcion.CodigoDuplicadoExcepcion;
import Veterinaria.excepcion.DAOExcepcion;
import Veterinaria.modelo.Dueno;
import Veterinaria.modelo.Factura;

public class GestionFactura {
	public Factura insertarfactura(String idfactura, String iddueno,
			String fecfactura, Double Total, String estado) throws DAOExcepcion, CodigoDuplicadoExcepcion {

		FacturaDAO dao = new FacturaDAO();
		PersonaDAO dueno = new PersonaDAO();

		Factura vo = new Factura();
		Dueno due = new Dueno();
		due = dueno.obtenerDueno(iddueno);

		vo.setCod_factura(idfactura);
		vo.setoDueno(due);
		vo.setFecha_factura(fecfactura);
		vo.setTotal(Total);
		vo.setEstado(estado);

		return dao.insertarfactura(vo);
	}

	public Factura obtenerfactura(String idfactura) throws DAOExcepcion {
		FacturaDAO dao = new FacturaDAO();
		return dao.obtener(idfactura);
	}

	public void anularfactura(String idfactura) throws DAOExcepcion {
		FacturaDAO dao = new FacturaDAO();
		dao.anularfactura(idfactura);
	}
	
	public Collection<Factura> obtenerReporteFactura(String numfac, String dueno, String desde, String hasta, String estado) throws DAOExcepcion {
		FacturaDAO dao = new FacturaDAO();
		return dao.obtenerReporteFactura(numfac, dueno, desde, hasta, estado);
	}
	public Factura GenerarCodigoFactura() throws DAOExcepcion {
		FacturaDAO dao = new FacturaDAO();
		return dao.GenerarCodigoFactura();
	}	
	
}
